package qc.module.qms.algorithm.NumericCalc.dto;

import lombok.Data;

import java.time.LocalDateTime;
import java.util.Map;

/**
 * Qms数值计算结果对象
 *
 * @author QuCheng Tech
 * @since 2025/9/8
 */
@Data
public class QmsNumericCalcResult {
    /**
     * 是否计算成功，计算成功并不表示有计算出的结果，计算不成功一般表示输入参数或数据错误等
     */
    private boolean isSuccess;
    /**
     * 提示信息，错误信息
     */
    private String msg;
    /**
     * 应有数量，预期计算出的数据数量
     */
    private int dueCount;
    /**
     * 实有数量，实际计算出数据并且数值有效的数量
     */
    private int actualCount;
    /**
     * 计算出数值的时间点和对应的数值；
     * 计算出的数值无效（为空或NaN）也需要进行保存（比如在计算输入的数据被删除或标记为错误后触发关联点号计算）
     */
    private Map<LocalDateTime, Double> datas;
    /**
     * 未计算出有效数值的时间及提示信息
     */
    private Map<LocalDateTime, String> fails;
}
